STA - A Conceptual Model for System Evolution

نویسنده

  • Markus Pizka
چکیده

A great deal of work on software maintenance focuses on source code analysis and manipulation. Code is viewed as a static entity that is – more or less – separated from the system at runtime. Although there are certainly important open questions in this field, the separation of code and runtime imposes itself an obstacle for the evolution of continuously functioning systems. The goal of the work presented in this paper is to blur the separation between statics and dynamics of a software system on a conceptual level. To achieve this, we propose a system model that combines space, time and level of abstraction and a conceptual framework for incremental evolution of systems during execution. Based on this continuously functioning systems can be maintained in a highly flexible and conceptually sound way. 1. Extending Software Evolution to Systems Software evolution often follows the pattern: save, shutdown, modify, restart, restore. Despite of its simple structure, this maintenance cycle already raises numerous nontrivial questions, such as how can the system state be captured at an arbitrary point in time, and how can quality be reassured after modification. Independent from these questions, this static view of evolution assumes that it is possible – and reasonable! – to shut the system to be maintained down. In cases of continuous operation, such as large-scale mission-critical databases or central components within a network this assumption does not hold. Thus, dynamic evolution, i. e. adapting the system during its runtime without (or hardly any) disruption of its operation is strongly more favorable. ∗Part of this work was sponsored by the German Federal Ministry for Education and Research (BMBF) as part of the project ViSEK (Virtual Software Engineering Competence Center). 1.1. The Relationship Between Source Code and Execution We argue, that the main obstacle for more flexible maintenance techniques is the separation of source code1 and system in execution2. Code is viewed as a static entity with few conceptually sound links with the system. As a consequence, the important link between the source level program and the system is lost. This has several negative consequences. E. g. there is no evolvable representation of the system if the code is modified while the system is executing and individual modification of two instances a and b of class c, specified by a single piece of code, requires versioning. Indeed, most contemporary work on system design and modeling such as the UML concentrates on static properties of a software system although the separation between static code and dynamic execution is artificial. It was introduced with the compilation and linking techniques of the early 1960’s. Interpreters, for example, do not impose a barrier between code and execution. The source code can be freely modified while the system is executing and changes take immediate effect. Obviously, conventional interpreters can as well not be considered a reasonable choice for system evolution. First, their performance is unsatisfactory and second, being able to perform arbitrary modifications of the source code at any time without control on the semantic effects of the changes eventually produces chaos. Our approach to eliminate the boundary between code and system is based on the vision that each component3 could be transformed into a piece of code and vice versa. The only difference between code and system is the level of abstraction. Whereas code is a high-level and humanreadable representation of a component, values in registers and in main memory provide an identical low-level repre1“code” further-on abbreviates source code 2“system” further-on abbreviates system in execution 3“component” refers to any conceptual entity that is part of the execution of the system; i. e. object instances, data items, functions, etc. sentation. Thus, code is regarded as the description of state and behavior of dynamically executing components and every component at runtime is described by its own code. Evolution always affects code and system simultaneously.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Conceptual and numerical models of the evolution of pedogenic carbonates in soils of arid and semi-arid regions: A review

Introduction Calcareous soils are widely distributed in arid and semi-arid regions of the world and the presence of carbonates in the soils affects both physicochemical properties and the pedogenic evolution. In addition, soil carbon plays a critical role in the global carbon cycle, and pedogenic carbonates are an important sink for atmospheric carbon. Pedogenic carbonates are also the proxy o...

متن کامل

Development of a conceptual model for asthma management system in primary care

Introduction: Asthma is uncontrolled in more than half of asthma patients due to inadequate and incorrect management. The main reasons for inadequate management are non-adherence, inadequate knowledge of a general practitioner about patientchr('39')s clinical condition, and not following asthma management guidelines The purpose of this study was to develop a conceptual model for the asthma mana...

متن کامل

Design and Validation of a Conceptual Model for Narrowing the Gap between Intended, Implemented, and Attained Curricula in the Public Education System in Iran

Abstract: The present research aimed at developing and validating a conceptual model for narrowing the gap between intended, implemented, and attained curricula in the public education system in Iran. Two fundamental questions guided this investigation: what model can be developed to reduce the gap between the three mentioned curricula? To what extent does the proposed model gain the approval? ...

متن کامل

Determination of a Conceptual Model for the Structural Features and Pb–Zn Mineralization in the North of Behabad Fault Zone, Central Iran

The Behabad region is located within a tectono–sedimentary zone in southeast Yazd province, Central Iran. The tectonic activities have deformed and faulted the Mesozoic and Quaternary formations in this area. The faults in Kuhbanan and Behabad have played a key role in the evolution of geological events, mineralization, and the formation of Behabad–Kuhbanan horst. These faults have separated th...

متن کامل

Methodology of conceptual review in the health system

Background: Conceptual review is a creative research method for generating new knowledge in the context of a vague and complex concept that helps to explain and clarify the concept, its components and its relation to related concepts. This study aimed to explain the methodology of conceptual review in the health system. Methods: Articles related to the conceptual research method were searched ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002